Systems and methods for adjusting a contour of a vehicle based on a protrusion

ABSTRACT

A system for informing a navigation system of a vehicle of a protrusion includes a sensor and a processing circuit. The sensor is configured to generate sensor data based on a position of cargo. The processing circuit is configured to determine a contour of the vehicle, detect protruding cargo extending outside the contour of the vehicle, where detecting the protruding cargo is based on the sensor data and the contour, and notify the navigation system of the vehicle of the protruding cargo.

CROSS-REFERENCE TO RELATED PATENT APPLICATIONS

This application is a continuation of U.S. patent application Ser. No.14/675,436, filed Mar. 31, 2015, which is a continuation of U.S. patentapplication Ser. No. 14/015,283, filed Aug. 30, 2013, which are bothincorporated herein by reference in their entireties.

BACKGROUND

Vehicles, and in particular, robotic or remotely driven vehicles, may beprovided with a navigation system that includes an automatic guidanceand collision avoidance system. In general, these automatic collisionavoidance systems utilize a defined envelope related to thecross-section of the vehicle while attempting to avoid collisions. Asthe vehicle moves about, the cargo of the vehicle may shift to extendbeyond the ordinary envelope of the vehicle. However, the operator ofthe vehicle and the vehicle's automatic collision avoidance system maybe unaware of the protruding cargo. As the vehicle continues to move,the protruding cargo is vulnerable to collisions with other vehicles,signposts, trees, and structures.

SUMMARY

One embodiment relates to a system for informing a navigation system ofa vehicle of a protrusion includes a sensor and a processing circuit.The sensor is configured to generate sensor data based on a position ofcargo. The processing circuit is configured to determine a contour ofthe vehicle, detect protruding cargo extending outside the contour ofthe vehicle, wherein detecting the protruding cargo is based on thesensor data and the contour, and notify the navigation system of thevehicle of the protruding cargo.

Another embodiment relates to a method of informing a navigation systemof a vehicle of a protrusion. The method includes acquiring sensor datafrom a sensor based on a position of cargo, determining a contour of thevehicle, detecting protruding cargo extending outside the contour of thevehicle based on the sensor data and the contour, and notifying thenavigation system of the vehicle of the protruding cargo.

Another embodiment relates to a non-transitory computer-readable mediumhaving instructions stored thereon, the instructions forming a programfor informing a navigation system of a vehicle of a protrusion, theprogram executable by a computing device, that when executed by thecomputing device cause the computing device to perform operationsincluding: acquiring sensor data from a sensor configured to generatethe sensor data based on a position of cargo, determining a contour ofthe vehicle, detecting protruding cargo extending outside the contour ofthe vehicle based on the sensor data and the contour, and notifying thenavigation system of the vehicle of the protruding cargo.

Another embodiment relates to a system for identifying a susceptibilityof a vehicle to a size restriction including a sensor and a processingcircuit. The sensor is configured to generate sensor data based on aposition of cargo. The processing circuit is configured to determine acontour of the vehicle, determine a size limit on a route of thevehicle, detect protruding cargo extending outside the contour of thevehicle based on the sensor data and the contour, generate an updatedcontour of the vehicle based on the protruding cargo, determine asusceptibility of the vehicle to the size limit based on the updatedcontour, and notify a navigation system of the vehicle of thesusceptibility of the vehicle to the size limit.

Another embodiment relates to a method of identifying a susceptibilityof a vehicle to a size restriction. The method includes acquiring sensordata from a sensor based on a position of cargo, determining a contourof the vehicle, determining a size limit on a route of the vehicle,detecting protruding cargo extending outside the contour of the vehiclebased on the sensor data and the contour, generating an updated contourof the vehicle based on the protruding cargo, determining asusceptibility of the vehicle to the size limit based on the updatedcontour, and notifying a navigation system of the vehicle of thesusceptibility of the vehicle to the size limit.

Another embodiment relates to a non-transitory computer-readable mediumhaving instructions stored thereon, the instructions forming a programfor identifying a susceptibility of a vehicle to a size restriction, theprogram executable by a computing device, that when executed by thecomputing device cause the computing device to perform operationsincluding: acquiring sensor data from a sensor, wherein the sensor databased on a position of cargo, determining a contour of the vehicle,determining a size limit on a route of the vehicle, detecting protrudingcargo extending outside the contour of the vehicle based on the sensordata and the contour, generating an updated contour of the vehicle basedon the protruding cargo, determining a susceptibility of the vehicle tothe size limit based on the updated contour, and notifying a navigationsystem of the vehicle of the susceptibility of the vehicle to the sizelimit.

Another embodiment relates to a system for identifying a susceptibilityof a vehicle approaching a structure to a size restriction of thestructure, comprising a detector configured to detect the approachingvehicle, and a processing circuit configured to identify the vehiclebased on data from the detector, access a database to determine acontour of the identified vehicle, wherein the database is configured tostore vehicle contour information, compare the contour of the vehicle toa size limit of the structure, and determine a susceptibility of thevehicle to the size limit based on the comparison.

Another embodiment relates to a method of identifying a susceptibilityof a vehicle approaching a structure to a size restriction of thestructure. The method includes acquiring data from a detector configuredto detect the approaching vehicle, identifying, with a processingcircuit, the vehicle based on the data from the detector, accessing adatabase to determine a contour of the identified vehicle, wherein thedatabase is configured to store vehicle contour information, comparingthe contour of the vehicle to a size limit of the structure, anddetermining a susceptibility of the vehicle to the size limit based onthe comparison.

Another embodiment relates to a non-transitory computer-readable mediumhaving instructions stored thereon, the instructions forming a programexecutable by a computing device for identifying a susceptibility of avehicle approaching a structure to a size restriction of the structure,that when executed by the computing device cause the computing device toperform operations including: acquiring data from a detector configuredto detect the approaching vehicle, identifying the vehicle based on thedata from the detector, accessing a database to determine a contour ofthe identified vehicle, wherein the database is configured to storevehicle contour information, comparing the contour of the vehicle to asize limit of the structure, and determining a susceptibility of thevehicle to the size limit based on the comparison.

The foregoing summary is illustrative only and is not intended to be inany way limiting. In addition to the illustrative aspects, embodiments,and features described above, further aspects, embodiments, and featureswill become apparent by reference to the drawings and the followingdetailed description.

BRIEF DESCRIPTION OF THE FIGURES

FIG. 1 is a block diagram of a system for informing a navigation systemof a vehicle of a protrusion according to one embodiment.

FIG. 2 is a block diagram of a processing circuit according to oneembodiment.

FIG. 3a is a schematic diagram of a vehicle according to one embodiment.

FIG. 3b is a schematic diagram of a vehicle according to one embodiment.

FIG. 3c is a schematic diagram of a vehicle according to one embodiment.

FIG. 4 is a schematic diagram of a vehicle according to one embodiment.

FIG. 5 is a schematic diagram of a vehicle according to one embodiment.

FIG. 6 is a flowchart of a process for informing a navigation system ofa vehicle of a protrusion according to one embodiment.

FIG. 7 is a flowchart of a process for informing a navigation system ofa vehicle of a protrusion according to one embodiment.

FIG. 8 is a flowchart of a process for informing a navigation system ofa vehicle of a protrusion according to one embodiment.

FIG. 9 is a flowchart of a process for informing a navigation system ofa vehicle of a protrusion according to one embodiment.

FIG. 10 is a flowchart of a process for informing a navigation system ofa vehicle of a protrusion according to one embodiment.

FIG. 11 is a flowchart of a process for identifying a susceptibility ofa vehicle to a size restriction according to one embodiment.

FIG. 12 is a flowchart of a process for informing a navigation system ofa vehicle of a protrusion according to one embodiment.

FIG. 13 is a flowchart of a process of identifying a susceptibility of avehicle approaching a structure to a size restriction of the structureaccording to one embodiment.

DETAILED DESCRIPTION

In the following detailed description, reference is made to theaccompanying drawings, which form a part hereof. In the drawings,similar symbols typically identify similar components, unless contextdictates otherwise. The illustrative embodiments described in thedetailed description, drawings, and claims are not meant to be limiting.Other embodiments may be utilized, and other changes may be made,without departing from the spirit or scope of the subject matterpresented here.

Referring generally to the figures, various embodiments for informing anavigation system of a vehicle of a protrusion are shown and described.A vehicle (e.g., a car, a truck, a train, a subway car, a boat,construction equipment, etc.) may be equipped with a navigation systemthat has collision avoidance and/or automated guidance capabilities. Ingeneral, the navigation system may utilize a collision avoidancealgorithm that considers the vehicle's contour as the system iscontrolling the vehicle. The contour of the vehicle may include generalor specific dimensions of the vehicle, and may include the dimensions ofequipment (e.g., a trailer, towed items, top-mounted containers,bike/luggage racks, etc.) coupled to the vehicle. The decision toincorporate the contour of a trailer or mounted container with thevehicle's native contour may be made based on sensor input (e.g., acamera, or a load sensor detecting their attachment to the vehicle). Avehicle may also be remotely or robotically driven, and such collisionavoidance systems may be used to steer the vehicle safely along itsroute. Alternatively, the vehicle may be controlled by a driver, and thecollision avoidance system may be used to notify the driver of animpending collision, or to assume control of the vehicle or influencethe driver's control of the vehicle while attempting to avoid acollision. As the vehicle moves about, cargo of the vehicle (e.g., aperson, a load, goods, an object, a pet, etc.) may shift such that thecargo extends beyond the normal envelope/dimensions, or contour, of thevehicle. For example, a passenger may extend his or her arms outside acar window as the car drives. As the car moves, the passenger's extendedextremities are vulnerable to collisions. As another example, itemsaffixed to a roof rack of a car may shift such that the items extend offto the side of the car. Alternatively, the cargo may have initially beenplaced in a manner such that it extends beyond the typical vehicledimensions. For example, a load of beams in the back of a truck may havebeen placed such that the beams extend off of the bed of the truck. Asthe truck moves, the extended beams are vulnerable to collisions withother traffic, buildings, road signs, a bridge, a tunnel, etc. In any ofthese scenarios, the operator of the vehicle may not be aware of theprotruding cargo. Similarly, the navigation and collision avoidancesystems of the vehicle may not take the protrusions into account.Sensing devices and a processing circuit may be utilized to detect thedangerous condition of the protruding cargo and generate an updatedcontour of the vehicle, which includes the additional space or extendedcontour taken up by the protruding cargo. The updated contour may beformed according to three-dimensions and may generally correspond tooverall vehicle dimensions, may be localized to the area of theprotruding cargo, and may include the dimensions of equipment (e.g., atrailer, towed items, etc.) coupled to the vehicle. For example, avehicle may be treated as if it is 12 inches wider if an occupant's armis extended outside the ordinary bounds of the vehicle by a few inches.In the instance of multiple protrusions, the updated contour may includevarying dimensions to account for each, or some, of the protrusions. Theupdated contour may be provided to a navigation system of the vehicle tobe used by the navigation system, which may include a collisionavoidance system, an automatic guidance system, a collision alertsystem, etc. The protruding cargo may be detected through the use ofimaging sensors (e.g., cameras, wide-field-of-view cameras, RFIDsensors, infrared devices, optical links, etc.), which are able to sensethe position of an object or occupant (including the position of aprotrusion) relative to the vehicle. Additionally, cargo protrusions maybe estimated or inferred by the processing circuit based on knowledge ofthe type of cargo or a cargo model (e.g., including dimensions, shapes,etc.). For example, a non-protruding portion of the cargo may bedetected based on the position of the cargo, and then a protrudingportion may be estimated or inferred by comparing the non-protrudingportion to the model of the cargo. For example, a protruding portion(e.g., the tip, an edge, etc.) of the cargo may be directly detectedbased on the position of the cargo. As another example, a protrudingportion (e.g., the tip, an edge, etc.) of the cargo may be detectedbased on the position of the cargo and then a further protruding portionmay be estimated or inferred by comparing the detected protrudingportion to the model of the cargo. Sensors such as imagers, pressuresensors, capacitance sensors, and the like, may also be used toascertain the cargo's position and location with respect to the vehicle.By providing an updated contour to the navigation system, the vehiclemay take into account the protruding cargo in order to safely navigate,before a collision occurs.

Various embodiments for identifying a susceptibility of a vehicle to asize restriction are also shown and described. A vehicle may be equippedwith a navigation system as described above, or a remote navigationsystem may be utilized to steer the vehicle. Sensing devices and aprocessing circuit may be utilized to detect protruding cargo asdiscussed above. The processing circuit may also determine a specific orestimated amount of a protrusion. The processing circuit may calculatethe amount based on sensor measurement data. The processing circuit mayalso determine a specific or estimated amount that cargo is protrudingbased on sensor measurement data, or the processing circuit may estimateor otherwise infer the cargo protrusion amount based on a model ornon-protruding portions of the cargo. After protruding cargo isdetected, the processing circuit may determine the susceptibility of thevehicle to size limits (e.g., height restrictions, width restrictions,length restrictions, etc.) along the route of the vehicle. For example,a size limit may be due to the height of a bridge, the height of agarage, the width of a tunnel, etc. The processing circuit may informthe navigation system of the susceptibility of the vehicle to the sizelimit, and the navigation system may use the provided data in itscollision avoidance/detection and navigation systems, and may furtheruse the data to determine an updated and suitable route for the vehiclewith the protruding cargo. The processing circuit may also generate anupdated contour and provide the updated contour to a navigation systemas described by the systems disclosed herein.

The described systems herein may be enabled or disabled by a user as theuser desires. Additionally, a user may specify preferences in order toset characteristics of warnings and cargo, and set the sensitivity ofsensors, etc. User preferences and settings may be stored in apreference file. For example, one user's preference may be for a 6 inch“safety zone” beyond the physical contour of the vehicle and protrusion,while another user may prefer no safety zone. Default operating valuesmay also be provided. Additionally, the features of the variousembodiments herein and sensor configurations may be combined.

Referring to FIG. 1, a block diagram of system 100 for informing anavigation system of a vehicle of a protrusion is shown. System 100 mayalso be used for identifying a susceptibility of a vehicle to a sizerestriction. According to one embodiment, system 100 includes processingcircuit 102, and sensors 104 for sensing information related to thecargo's position and providing the information to processing circuit102. As used herein, the cargo may refer to any person, animal, oranything carried, transported, or otherwise towed by the vehicle. System100 is configured to notify the navigation system of a vehicle of aprotruding cargo condition. In other embodiments, system 100 maygenerate an updated contour of a vehicle to include the area of spacetaken up by the protrusion, and system 100 may provide the updatedcontour to the navigation system. System 100 may also generatecharacteristics of protrusions, including height, width, and lengthmeasurements of protrusions. In other embodiments, system 100 mayanalyze a protrusion and determine the susceptibility a vehicle to asize limit along a route of the vehicle.

System 100 may provide the analysis to a navigation system of thevehicle. In some embodiments, system 100 also includes feedback device106 for providing a warning related to protruding cargo. In otherembodiments, system 100 may provide warnings through feedback device 106and inform the navigation system. Sensors 104 include all sensingcomponents necessary for sensing protruding cargo. Sensors 104 mayinclude a single sensor device, or multiple sensors. Sensors 104 may beimaging sensors, cameras, laser sensors, radar sensors, RFID sensors,infrared sensors, optical sensors, pressure sensors, capacitive sensors,GPS sensors, ultrasonic sensors, magnetic sensors, etc., or anycombination of sensors. Cameras may include wide-field-of-view cameras,infrared cameras, 3-D cameras (e.g., stereoscopic cameras, cameras thatdetermine range from depth-of-focus, etc.), may use artificialillumination, etc. Cameras or other imaging sensors may be located onthe vehicle, or may be external to it, reporting via a wired connectionor wirelessly to processing circuit 102. Sensors 104 may be communicablycoupled to processing circuit 102. Processing circuit 102 analyzes thesensor data and detects protruding cargo based on the sensor data.

Processing circuit 102 may also determine characteristics of theprotruding cargo (e.g., what specific body part is protruding for aprotruding extremity, an amount of protrusion, a location of protrusion,the type of cargo that is protruding, etc.). In one embodiment,processing circuit 102 generates a warning and outputs the warning tofeedback device 106. Feedback device 106 may be a display screen, aspeaker, a mechanical feedback device, or any device capable ofproviding feedback related to a protrusion. For example, feedback device106 may include an LCD display screen coupled to the vehicle. As anotherexample, feedback device 106 may be an external feedback devicewirelessly connected to processing circuit 102 (e.g., a terminal at agas station, etc.). Processing circuit 102 notifies a navigation systemof the vehicle of the protruding cargo, which may include multipleprotrusions. The navigation system may utilize the information duringnavigation and/or collision detection. Processing circuit 102 may alsocalculate an updated vehicle contour, including the bounds of theprotruding extremity, and provide the updated contour to the navigationsystem. Processing circuit 102 may further analyze a route of thevehicle and compare various size limits along the route to thedimensions of the vehicle including the protrusion. Based on theanalysis, processing circuit 102 determines the susceptibility (e.g.,likelihood of collision, feasibility of the route, etc.) of the vehicleto the size limits, and provides the analysis to the navigation system.

According to one embodiment, system 100 includes processing circuit 102,and sensors 104 for sensing information related to an object's positionand providing the information to processing circuit 102. In someembodiments system 100 may lack sensors 104 and may be configuredreceive data input related to protrusions. In some embodiments system100 may lack feedback device 106 and may be configured to notify thenavigation system of a vehicle of a protruding object condition. Sensors104 may be generally configured as discussed above, and sensors 104 maybe configured to detect both a protruding cargo of an extremity and anobject. Accordingly, system 100 may be configured to detect a protrudingextremity, object, or both. Such detection of extremities and objectsmay occur separately, or at the same time, and may be enabled ordisabled as a user desires.

In one embodiment, system 100 is integrated into a manually driven carthat has a navigation system. Processing circuit 102 is a computingdevice coupled to the car. Sensors 104 include a wide-field-of-viewcamera. Processing circuit 102 accepts input from the camera andanalyzes the images from the camera to determine when an occupantextends past the boundaries of the car. When a protruding extremity isdetected, processing circuit 102 informs the navigation system. Thenavigation system may use the information to generate an alert orwarning. For example, a passenger may extend his arm outside a window ofthe car as the car is driving. Processing circuit 102 may analyze thecamera input to detect the protrusion, and provide related informationto the navigation system. The navigation system may generate a visualwarning of the condition on its display screen. In another embodiment,sensors 104 include a GPS sensor or augmented-GPS sensor configured toprovide a geospatial location. Processing circuit 102 accepts input fromthe camera and analyzes the images from the camera to determine when acargo extends past the boundaries of the car; however, the protrudingcargo detection is further based on the geospatial location. Forexample, in a location that is more open (e.g., on an open road), cargomay not be considered protruding, and further action may be suppressed.In a location that is indoors or constricted (e.g., within a garage, inan alley, etc.) the protrusion may be detected and action may be taken.

In one embodiment, system 100 is integrated into a train car. Processingcircuit 102 is a computing device coupled to the train car. Sensors 104include optical sensors. As an example, the optical system may include atransmitter that sends a light beam to a receiver across the width of awindow of train car. Upon obstruction of the optical beam by anoccupant, processing circuit 102 may determine that the occupant is notproperly seated, and therefore has a protruding extremity. Processingcircuit 102 informs a navigation system (or a computing/control system)of the train.

In one embodiment, system 100 is integrated into a pickup truck.Processing circuit 102 is a computing device coupled to the truck.Sensors 104 include optical sensors positioned to scan around theperimeter of the bed of the truck. As an example, the optical system mayinclude a transmitter that sends a light beam to a receiver across thewidth of the bed. Upon obstruction of the optical beam by cargo,processing circuit 102 may determine that the cargo has shifted and isprotruding. Processing circuit 102 informs a navigation system of thetruck of the condition. Sensors 104 may also include a camera configuredto scan an area of a trailer of the truck. Processing circuit 102accepts input from the camera and analyzes the images from the camera todetermine when cargo extends past the boundaries of the trailer.Processing circuit 102 informs a navigation system of the truck of thecondition. The scope of the present disclosure is not limited to acertain type of trailer or load, and other objects may be detected asdescribed herein.

In one embodiment, system 100 is integrated into an open bed truck.Processing circuit 102 is a computing device coupled to the truck.Sensors 104 include an RFID (radio-frequency identification) sensor.RFID tags are coupled to cargo of the truck at various locations. Forexample, if the truck is transporting a load of wood logs, the RFID tagsmay be coupled to the ends of various logs. Processing circuit 102receives input from the RFID sensor corresponding to the RFID tags. TheRFID sensor may provide distance information to processing circuit 102,or alternatively, processing circuit 102 may calculate a distance of theRFID tag. A distance may be based on a reflected signal strength fromthe RFID sensor to a particular RFID tag. A distance may also be basedon the time it takes for a signal generated by the RFID sensor toreflect from an RFID tag and return to the RFID sensor. In someembodiments, multiple RFID sensors may each measure distances to an RFIDtag, and based on the set of multiple distances, processing circuit 102may determine a 3-D location of the RFID tag. Based on the distanceinformation, processing circuit 102 may determine when cargocorresponding to a particular RFID tag is protruding. Alternatively,processing circuit 102 may determine a protrusion if the RFID sensordata indicates that the RFID tag has crossed a threshold, regardless ofdistance information. When protruding cargo is detected, processingcircuit 102 informs a navigation system of the truck of the condition.

In one embodiment, system 100 is integrated into a car. Processingcircuit 102 is a computing device coupled to the car. Sensors 104include pressure sensors and capacitive sensors integrated throughoutthe seats of the car, or cameras imaging the interior of the car.Processing circuit 102 receives input from the sensors. Based on theimaging data, pressure data, and/or the capacitive data, processingcircuit 102 determines an occupant's position in the car. For example,different parts of the body produce different characteristics withrespect to the pressure induced on the seats. By comparing variouspressure points and capacitive readings, the position of an occupant'slegs, arms, back, etc. may be determined. Processing circuit 102 mayalso compare the determined position information to skeletal models andestimate that an occupant's extremity is outside the normal contours ofthe car (e.g., extending out of a window or an open door, etc.). Forexample, if the pressure and capacitive data indicates that anoccupant's arm is resting near the edge of the window, and is directedout of the window, processing circuit 102 may infer that the occupant'shand and forearm are protruding from the window. As another example, ifthe imaging data from an interior compartment of the car indicates thatan occupant's arm is resting near the edge of the window, and isdirected out of the window, processing circuit 102 may infer that theoccupant's hand and forearm are protruding from the window. When aprotruding extremity is detected, processing circuit 102 informs anavigation system of the car of the condition. Similar analysis may beapplied to protruding objects.

In one embodiment, system 100 is integrated into a car that has anavigation system including collision avoidance features. The car may beremotely piloted, or automatically/robotically driven by the navigationsystem. Processing circuit 102 is a computing device coupled to the car.Sensors 104 include multiple wide-field-of-view cameras. Processingcircuit 102 accepts input from the cameras and analyzes the images fromthe cameras to determine when an occupant extends past the boundaries ofthe car. Processing circuit 102 accepts input from the cameras and alsoanalyzes the images from the cameras to determine when any objectsextend past the boundaries of the car. When a protrusion is detected,processing circuit 102 calculates an updated contour of the car toaccount for the protrusion. The updated contour may include an extendedcontour corresponding to overall car dimensions, or may be localized tothe area of the protrusion. Processing circuit 102 transmits thisupdated contour information to the navigation system. Processing circuit102 may format the data related of the updated contour and maycommunicate with the navigation system according to a protocol definedby system 100 or defined by the navigation system. Processing circuit102 may transmit a file, various files, or a stream of data to thenavigation system. For example, a particular application programminginterface (API) may be provided by a navigation system, and processingcircuit 102 can be configured to communicate with the navigation systemaccording to the API.

In one embodiment, system 100 is integrated into a car that has anavigation system including collision avoidance features. Processingcircuit 102 is a computing device coupled to the car. Sensors 104include multiple wide-field-of-view cameras. Processing circuit 102accepts input from the cameras and analyzes the images from the camerasto determine when any cargo extends past the boundaries of the car. Whena protrusion is detected, processing circuit 102 analyzes the protrusionto determine details related to the protrusion. For example, processingcircuit 102 may determine an amount of a protrusion and a position ofthe protrusion. Processing circuit 102 may access route information forthe vehicle to determine size limits along the route. For example, thenavigation system may provide a start and ending destination. As anotherexample, the navigation system may provide a projected route. In oneembodiment, the processing circuit compares the route information to adatabase of size limits to determine size restrictions along the route.In another embodiment, processing circuit 102 directly receives sizelimit information (e.g., from the navigation system, a database, amapping program, etc.). The size limit information may be based on acurrent location of the car or a projected location or route. Processingcircuit 102 analyzes and compares the details of the protrusion to thesize limit information to determine the susceptibility of the car to thesize limit. A size limit may be any size restriction along a route(e.g., a garage size, a tunnel height, a bridge width, a street width,etc.). The analysis may be provided to the navigation system. As anexample, the navigation system may utilize the analysis to determine anupdated route for the car in the instance that the car and protrusionare too large for a current route due to a size limit.

In one embodiment, system 100 is integrated into a semi-truck havingsensors 104, and processing circuit 102 is a computing device coupled tothe truck. Processing circuit 102 is configured to receive data relateto protrusions. For example, processing circuit 102 may receive inputfrom a user interface (e.g., a GUI) or an external device. The inputdata may include dimensions of cargo or a partial arrangement of cargocreating the protrusion. The input data may include a request forupdated contour information. Processing circuit 102 informs a navigationsystem of the truck of the condition. For example, the semi-truck may becarrying a load that cannot fit within the bounds of the bed of thetruck, and must be placed in a protruding manner. In this scenario, thetruck driver may enter details related to the protrusion via the GUI, ora truck service station may contain sensing equipment that providesrelated protrusion details to processing circuit 102. Processing circuit102 accepts the protrusion data and accepts input from sensors 104.Processing circuit may compare the protrusion data to the contours ofthe truck and inform a navigation system of the truck of the condition.Processing circuit may also generate an updated contour as describedherein. Processing circuit may compare may also determine thesusceptibility of the truck to a size limit as described herein.

In one embodiment, system 100 is integrated into a truck; howeversensors 104 are external to system 100. Sensors 104 may include an arrayof cameras. For example, the cameras may be positioned at a truck stopweigh station, and scanning may be provided as a service to the truckoperator. The truck may drive through the area of the cameras andprocessing circuit 102 may receive sensor data wirelessly from camerasensors 104. Alternatively, system 100 may be entirely external from thetruck, and may be configured to interface with a wireless transmitter tocommunicate with the navigation system of the truck as the truck isanalyzed for protrusions.

Referring to FIG. 2, a detailed block diagram of processing circuit 200for completing the systems and methods of the present disclosure isshown according to one embodiment. Processing circuit 200 may beprocessing circuit 102 of FIG. 1. Processing circuit 200 is generallyconfigured to accept input from at least one sensor. Processing circuit200 is further configured to receive configuration and preference data.Input data may be accepted continuously or periodically. Processingcircuit 200 uses the input data to detect when an occupant's body orother cargo extends past the ordinary contour of a vehicle. The ordinarycontour is generally based on the dimensions of the particular vehicle(including any trailers/towed items of the vehicle). Processing circuit200 may automatically detect the ordinary contour of a vehicle, or mayreceive contour information. For example, a model of the vehicle and/ortrailer may be provided by configuration data 212. Processing circuit200 analyzes data provided by the sensor(s) to determine when anoccupant or cargo moves outside of the contour, and is thereforevulnerable to a collision. Based on any detected protrusions, processioncircuit 200 may generate and output a warning using a feedback device,or processing circuit 200 may notify a navigation system. Processingcircuit 200 may also generate updated contour maps that take intoaccount the space occupied by any protrusions. Processing circuit 200may also analyze the sensor data related to a protrusion to determinemeasurements (e.g., height, width, length, etc.) of a protrusion.Processing circuit 200 may also determine the susceptibility of thevehicle to any size limits based on the protrusions. In determiningprotrusions, generating contours, and determining size limitrestrictions, processing circuit 200 may make use of machine learning,artificial intelligence, interactions with local and/or remote databasesand database table lookups, pattern recognition and logging, intelligentcontrol, neural networks, fuzzy logic, etc.

According to one embodiment, processing circuit 200 includes processor206. Processor 206 may be implemented as a general-purpose processor, anapplication specific integrated circuit (ASIC), one or more fieldprogrammable gate arrays (FPGAs), a digital-signal-processor (DSP), agroup of processing components, or other suitable electronic processingcomponents. Processing circuit 200 also includes memory 208. Memory 208is one or more devices (e.g., RAM, ROM, flash memory, hard disk storage,etc.) for storing data and/or computer code for facilitating the variousprocesses described herein. Memory 208 may be or include non-transientvolatile memory or non-volatile memory. Memory 208 may include databasecomponents, object code components, script components, or any other typeof information structure for supporting the various activities andinformation structures described herein. Memory 208 may be communicablyconnected to processor 206 and include computer code or instructions forexecuting the processes described herein.

Memory 208 includes memory buffer 210. Memory buffer 210 is configuredto receive a data stream (e.g. from a sensor 104, from a navigationsystem, from a database, from a user input device, etc.) through input202. For example, the data may include a real-time stream of sensordata, etc. The data received through input 202 may be stored in memorybuffer 210 until memory buffer 210 is accessed for data by the variousmodules of memory 208. For example, sensor analysis module 216, contourgeneration module 218, and size analysis module 220 each can access thedata that is stored in memory buffer 210.

Memory 208 further includes configuration data 212. Configuration data212 includes data related to processing circuit 200. For example,configuration data 212 may include information related to interfacingwith other components (e.g., sensors of system 100 of FIG. 1, anavigation system of a vehicle, an external database, a user inputdevice, etc.). This may include the command set needed to interface witha computer system used transfer user settings or otherwise set up thesystem. This may further include the command set needed to generategraphical user interface (GUI) controls, menus, warning information,feedback, and visual information. As another example, configuration data212 may include the command set needed to interface with communicationcomponents (e.g., a universal serial bus (USB) interface, a Wi-Fiinterface, an Ethernet interface, etc.). Processing circuit 200 mayformat data for output via output 204 to allow a user to configure thesystems as described herein. Processing circuit may also format visualinformation to be output for display on a display device. Processingcircuit may also generate commands necessary to drive a feedback device.Configuration data 212 may also include information as to how ofteninput should be accepted from a sensor. As another example,configuration data 212 may include default values required to initiatethe device and initiate communication with sensors, navigation systems,anti-collision systems, or other peripheral systems. Configuration data212 further includes data to configure communication between the variouscomponents of processing circuit 200.

Processing circuit 200 further includes input 202 and output 204. Input202 is configured to receive a data stream (e.g., a digital or analogstream of data from sensors), configuration information, and preferenceinformation. Output 204 is configured to provide an output to a feedbackdevice, a vehicle navigation system, or components of the systems asdescribed herein.

Memory 208 further includes modules 216, 218, and 220 for executing thesystems and methods described herein. Modules 216, 218, and 220 areconfigured to receive sensor data, configuration information, userpreference data, and other data as provided by processing circuit 200.Modules 216, 218, and 220 are generally configured to analyze sensordata, detect a protrusion of a vehicle, provide feedback related todetected protrusions, inform navigation systems of protrusions, generateupdated vehicle contours that account for the protrusions, and determinea vehicle's susceptibility to a size limit based on protrusions. Modules216, 218, and 220 may be further configured to operate according to auser's preferences. In this manner, certain contour characteristics andsensor sensitivities may be adjusted according to a user's desires ormanufacturer's settings.

Sensor analysis module 216 is configured to receive sensor data fromvarious sensors (e.g., sensors 104 of FIG. 1, etc.). The sensor data mayinclude distance related data, orientation related data, a range, or 3-Dspatial information. The sensor data may be provided through input 202or through memory buffer 210. Sensor analysis module 216 scans thesensor data and analyzes the data to detect the position of cargo of avehicle. The cargo may include an occupant, a pet, or other objects.Upon detection of cargo, sensor analysis module 216 may determinewhether the cargo is a living occupant or is an object. Based on thatdetermination, for occupants and pets, sensor analysis module 216 mayfurther determine a particular type of extremity (e.g., arm, leg, foot,head, hand, paw, etc.) that is protruding. Sensor analysis module 216may also scan and analyze the sensor data to detect types of objects(e.g., a cane, skis, wood, etc.). In one embodiment, sensor analysismodule 216 scans to automatically detect all cargo within the sensordata. In another embodiment, sensor analysis module 216 analyzes thesensor data for certain types of cargo. The types of cargo may beprovided by configuration data or user setting data. Additionally,various models of cargo may be accessed in detecting an object. Sensoranalysis module 216 compares the positioning of an occupant andextremities to the contour of the vehicle. Sensor analysis module 216also compares the positioning of the objects to the contour of thevehicle. The contour generally corresponds to the dimensions of the areaof space taken up by the vehicle (e.g. a maximum length and width,etc.). For example, a particular car model may have a footprint that is6 ft. wide by 15 ft. long. As another example, a particular truck(including a trailer) may have a footprint that is 8 ft. wide by 50 ft.long. The contour in these situations may correspond to the perimeteraround the space taken up by the footprint. In the case of a vehiclehaving a trailer, the contour may change as the vehicle moves (e.g., asthe truck turns). A contour may be precisely specified to correspond toall changes in dimensions of the vehicle, or may be a more generalsquare/rectangle shape corresponding to the maximum dimensions occupiedby the vehicle. As another example, a particular vehicle may have afootprint that is 6 ft. wide by 15 ft. long, but may have a taperedshape such that the width of the vehicle is 6.5 ft. at the steeringwheel level due to side-view mirrors. The contour in this scenario maycorrespond to the length and the width at the steering-wheel level, asopposed to the width at the footprint of the wheelchair. The contour ofa vehicle may either be provided by pre-stored vehicle profiles orcontours (e.g., stored in configuration data, etc.), may be based onvehicle model data, or may be detected by sensor analysis module 216.Sensor analysis module 216 may utilize typical boundary detectionalgorithms in determining the contour of a vehicle.

Sensor analysis module 216 may determine that cargo is outside of thevehicle contour through a variety of methods. A particular method maycorrespond to the type of sensors in use. Any of the methods ofdetection discussed herein may be combined or used individually. Forexample, in one embodiment utilizing a wide-field-of-view camera, sensoranalysis module 216 receives image data. Sensor analysis module 216analyzes the image data to detect an occupant's position using bodydetection algorithms and object's position using object detectionalgorithms. As the body of the occupant is detected, sensor analysismodule 216 also compares the location of the extremities to the contourof the vehicle. If an extremity is determined to be outside of thecontour, then sensor analysis module 216 provides this information tocontour generation module 218, size analysis module 220, or both.Similar analysis may be performed for an object. Typically, when anextremity or object is outside of the contour, it is at risk ofcollision. However, the amount that an extremity or object must beoutside the contour before it is considered a risk may be adjusted(e.g., through thresholds stored in configuration data 212 or preferencedata 214.). In this manner, a driver, occupant, or manufacturer maycustomize the particular system in use such that a threshold must bereached before the system updates contour values or performs furtheranalysis. In one embodiment, sensor analysis module 216 receivesgeospatial information from a GPS sensor, and analyzes the geospatialinformation in determining a protruding extremity. In this manner, thelocation of the vehicle may be used in determining distance thresholdsthat must be reached before the system considers an extremity or objectas protruding. Any data generated by sensor analysis module may beprovided to any of the modules of processing circuit 200.

In one embodiment utilizing optical/laser link sensors, sensor analysismodule 216 receives data related to cargo (e.g., objects andextremities, etc.) crossing the path of the optical/laser links. Forexample, if the optical links are arranged around the perimeter of theopenings of a vehicle (doorways, windows, tailgates, etc.), the sensorsmay provide a signal to sensor analysis module 216 when the occupant'sleg crosses the optical link and protrudes outside the contour of thevehicle. Such optical systems may be used in conjunction with othersensors described herein. For example, after an optical link sensor istriggered, a camera sensor may be used to determine an amount of aprotrusion through analysis of image data provided by the camera sensor.As another example, capacitive and pressure sensors may be used todetermine the general position of an occupant in the vehicle. Suchpressure and capacitive sensors may be mounted in the seat and thebackrest areas of the vehicle. Sensor analysis module 216 may analyzethe position data and compare it to models of the human body (e.g.,skeletal models, etc.) and estimate an amount that an extremity isprotruding based on knowledge of body interconnectivity (e.g., the handis connected to the forearm, etc.). The models of the human body may begeneral models according to average human proportions, or may betailored to the dimensions of a particular occupant. Such models may bestored in configuration data 212 or preference data 214. In someembodiments, sensor analysis module 216 may be configured to inferprotrusions based on pressure or capacitive data alone.

In one embodiment utilizing sensors coupled to the cargo, sensoranalysis module 216 may monitor sensor data for indications that thecargo has moved beyond the safe contours of the vehicle. For example, anRFID sensor system may be mounted throughout the perimeter of thevehicle (and any accompanying trailer), and the cargo may have RFID tagscoupled to it. If the RFID tag crosses the bounds of the RFID sensorsystem, the RFID system can provide appropriate data to the sensoranalysis module 216, which may then determine that the cargo isprotruding. For an occupant, such RFID tags may be coupled to anoccupant's wrist (with a wristband) or ankles, etc. The protrusiondetermination may be may in conjunction with knowledge of the occupant'sbody position as discussed above, or may be dependent solely on the RFIDtag crossing the RFID sensor. Additionally, some RFID sensor systems arecapable of determining a distance from an RFID tag as discussed above.Such distance information may be utilized by sensor analysis module 216in determining the amount of a protrusion.

In one embodiment utilizing sensors coupled to the cargo, sensoranalysis module 216 may monitor sensor data for indications that thecargo has moved beyond the safe contours of the vehicle. For example, aradar or lidar sensor system may be mounted on the vehicle (or anyaccompanying trailer), and the cargo may have radar or lidar reflectorscoupled to it. In some embodiments, the radar or lidar reflectors areretroreflectors, such as cornercubes. In the case of cargo that is apet, such reflectors may be coupled to the pet's collar. For anelongated object, such as a pipe or board, the reflectors may be couplednear the tip. The protrusion determination may be in conjunction withknowledge of a model of the object or occupant as discussed above, ormay be dependent solely on the radar or lidar sensor's detection of theprotruding cargo or a reflector coupled to it. The radar or lidar sensormay be solely provided for protrusion detection, or may also be used bythe vehicle's collision avoidance or navigation system for sensingexternal vehicles or obstacles.

In one embodiment utilizing infrared sensors, sensor analysis module 216may analyze heat map data corresponding to the heat signature of cargo.Sensor analysis module 216 scans the heat map to determine the locationsof the cargo with respect to the vehicle, and then compares thelocations to the contour of the vehicle. If an extremity is determinedto be extending beyond the contour, sensor analysis module 216 maydetermine that the cargo is protruding, and thus further action may betaken. Sensor analysis module 216 may also analyze the heat map todetermine specific or estimated amounts that cargo is protruding.

In one embodiment, a system including processing circuit 200 isconfigured to interface with and accept input, via input 202, fromonboard sensors (or onboard computing systems) of a vehicle. Sensoranalysis module 216 analyzes the data to infer a dynamic protrusion orpotential for a dynamic protrusion (e.g., due to slipped or shiftedcargo). For example, a truck may include diagnostic systems formonitoring pressure at its wheels. If the provided data suddenlyindicates that the pressure distribution between wheels has shifted, orincreased at a certain wheel, sensor analysis module 216 may infer thatcargo has shifted in a manner as to be potentially protruding oractually protruding. As another example, if the provided data indicatesthat there is a sudden decrease in speed, sensor analysis module 216 mayinfer that cargo may shift due to momentum of the cargo and the decreasein vehicle speed. As another example, if the data indicates that awindow or door of the vehicle is opened while the vehicle is moving,sensor analysis module 216 may infer that there is a likelihood that anoccupant may shift to a protruding position (e.g., place an arm outsidethe window). In another embodiment, the sensors of the system (e.g.,sensors 104) include the sensors necessary to monitor vehicle conditions(e.g., load sensors, pressure sensors, speedometers, etc.) as discussed.In any of these scenarios, sensor analysis module 216 may provideinference data to contour generation module 218 to generate an inferredupdated contour. Default values, configuration data, or models of thecargo may be used in estimating an updated contour.

Contour generation module 218 receives data from sensor analysis module216 related to a protrusion, and notifies a navigation system of avehicle of the protrusion. For example, robotically driven vehicle mayinclude a navigation system with anti-collision features. Such ananti-collision system may use radar, or other means, to scan a road todetect obstacles and measure the width (or lane width/position) of theroad. Such an anti-collision system may also obtain the road detailsfrom an externally supplied map or database or from geospatialinformation. A GPS sensor of the navigation system or a GPS sensor thatis part of the systems described herein may also provide the geospatialinformation. Generally, based on the contour (e.g., the width, etc.) andorientation of the vehicle, a navigation and anti-collision systems maysafely steer the vehicle within a lane of the road. Contour generationmodule 218 generates appropriate signals to communicate with suchnavigation systems. In this manner, contour generation module 218 maynotify the navigation system that cargo of the vehicle is outside theordinary contours of the vehicle, and the navigation system may takeappropriate action (e.g., pausing the movement of the vehicle, changingthe route of the vehicle, changing the position within a lane, allowingfor additional space on turns, allowing for additional space betweenother traffic, etc.). Contour generation module 218 may also inform thenavigation system that the vehicle should be treated as having anupdated contour due to the space taken up by a protruding object. Insome embodiments, contour generation module 218 generates an updatedcontour that takes the protrusion into account, and provides the updatedcontour to the navigation system. In doing so, contour generation module218 may access vehicle contour data stored in configuration data 212 oras generated by sensor analysis module 216, as discussed above. In thismanner, the navigation system and anti-collision mechanisms of thevehicle may dynamically adjust the values used related to space occupiedby the vehicle to compensate for the additional space taken by theprotruding cargo. For example, after receiving updated contour data fromcontour generation module 218, the navigation system may treat a vehicleas being 7 ft. wide, as opposed to an ordinary width of 6 ft., and thus,the navigation system may safely steer the vehicle to avoid collisionswith the protruding cargo (e.g., an extremity and/or object). As anotherexample, after receiving updated contour data from contour generationmodule 218, the navigation system may treat a truck as being 25 ft.long, as opposed to 20 ft. long, and thus, the navigation system maysafely steer the truck to avoid collisions. As another example, afterreceiving updated contour data from contour generation module 218, thenavigation system may treat a truck as being 9 ft. high, as opposed toan ordinary height of 6 ft., and thus the navigation system may safelysteer the truck or calculate an updated route to avoid overheadcollisions. Updated contours may include updates in any ofthree-dimensions, collectively or separately.

In one embodiment, contour generation module 218 updates a contouracross an entire span of the vehicle. For example, if contour generationmodule 218 receives data from sensor analysis module 216 that indicatesan occupant's arm is extended beyond the right-side boundary of thevehicle by 10 inches, contour generation module 218 may extend the widthof the vehicle to the right side by 10 inches. As another example, ifcontour generation module 218 receives data from sensor analysis module216 that indicates an item of cargo is extended beyond the right-sideboundary of a trailer of the vehicle by 2 feet, contour generationmodule 218 may extend the width of the contour to the right side (alongthe span of the vehicle and trailer) by 2 ft. Contour generation module218 may add additional buffer space to the contour for additional safety(e.g., extending the right-side boundary by 2.5 ft. instead of 2 ft. asin the previously discussed examples).

In one embodiment, contour generation module 218 updates a contour in alocalized manner. For example, if contour generation module 218 receivesdata from sensor analysis module 216 that indicates an occupant's arm isextended beyond the left-side boundary of the vehicle by 10 inches,contour generation module 218 may extend the width of the contour areaaround the extended arm by 10 inches, but not change the contour inother regions, such as above or behind the extended foot. As anotherexample, if contour generation module 218 receives data from sensoranalysis module 216 that indicates an item of cargo is extended beyondthe left-side boundary of the vehicle by 25 inches, contour generationmodule 218 may extend the width of the contour area around the cargo by25 inches, but not change the contour in other regions, such as in frontor in back of the cargo. As another example, if contour generationmodule 218 receives data from sensor analysis module 216 that indicatesan item of cargo is extended beyond the right-side boundary of a trailerof the vehicle, by 2 ft., contour generation module 218 may extend thewidth of the contour to the right side (along the span of trailer, butnot the vehicle) by 2 ft. Contour generation module 218 may addadditional buffer space to the contour for additional safety.

In one embodiment, contour generation module 218 receives data relatedto an inferred protrusion from sensor analysis module 216. The data mayinclude positions of the inferred protrusion, estimated protrusionamounts, models of cargo inferred to be protruding. Contour generationmodule 218 may generate updated contours as discussed above (e.g.,generally or localized) but based on the inferred data. Also, contourgeneration module 218 may access default or configuration values relatedto updated contours. For example, upon receiving inferred protrusiondata from sensor analysis module 216, contour generation module 218 mayaccess default values specifying to increase the overall contour of thevehicle by a certain percentage or amount (e.g., 20% overall increase,or an addition of 2 ft., etc.). As another example, the default valuesmay depend on the position of the inferred protrusion, and may specifyan extension to a certain portion of the contour by a percentage oramount.

In one embodiment, contour generation module 218 is configured to formatupdate contour data for transmission. In this manner, processing circuit200 may interface with a transmitter (e.g., a radio transmitter, aBluetooth transmitter, a Wi-Fi transmitter, etc.) to provide an updatedcontour to the navigation system of another nearby vehicle.Alternatively, an updated contour may be transmitted to an accessibledatabase (e.g., associated with the car, the driver, an insurancecompany, a government agency, a mapping service, etc.). By doing so,other vehicles equipped with navigation systems may access the database(e.g., using the vehicle's license plate as an identification code) toobtain updated contour information of the vehicle (and other nearbytraffic) as the vehicles are navigating.

Size analysis module 220 receives data from contour generation module218 related to a protrusion and an updated contour of a vehicle, andanalyzes the dimensions of the updated contour to determine if thevehicle is susceptible to a size limit along its route (or potentialroute). For example, the dimensions of the updated contour may includethe amount of an extension, or a height of a protrusion. In oneembodiment, size analysis module 220 accesses a database (local orremote) to determine a size limit on a route of the vehicle, or based onthe current location of the vehicle. For example, in an embodimenthaving sensors 104 that include a GPS sensor, size analysis module 220may receive a geospatial location of the vehicle from sensors 104. Forremote size limit or mapping databases, processing circuit 200 mayinterface with a transmitter as described above to obtain the relevantdata. The database may be provided by a mapping provider or mappingapplication. In another embodiment, a size limit and/or projected routeis provided by a navigation system of the vehicle. The navigation systemmay include automatic guidance and anti-collision systems as describedherein. In another embodiment, a route is entered by a graphical userinterface in communication with processing circuit 200. A size limit mayrefer to any height, width, or length restriction (e.g., a vertical orhorizontal clearance). For example, an overpass/underpass orgarage/structure may have a 12 foot vertical clearance requirement forthe vehicle to safely fit. For example, different traffic lanes of astructure may have different size (e.g., height or width) restrictions.Size analysis module 220 may compare a height measurement related to anupdated contour to a height limit. As another example, a road or alleymay have a maximum navigable width of 7 ft. Size analysis module 220 maycompare length and width measurements related to an updated contour to ahorizontal clearance. Based on a route of the vehicle, size analysismodule 220 may determine the potential for collisions and susceptibilityto size limits on the route. Size analysis module 220 may compare thedimension of the updated contour (as caused by protruding cargo) todetermine if the vehicle may safely navigate the route, or would likelybe obstructed by a size restriction. Upon determining that the vehiclewould be susceptible to a size limit, size analysis module 220 maynotify the navigation system of the vehicle of the condition and providerelevant data (e.g., the size limit, a location of the size limit, lanedependent restrictions, the updated contour and its dimensions, etc.).As an example, the navigation system may use the notification andprovided data to determine an alternate route. In some embodiments, upondetermining that the vehicle would be susceptible to a size limit, sizeanalysis module 220 may notify the structure posing the size limit ofthe vehicle's approach and the impact susceptibility.

In one embodiment, a structure having a size restriction may (e.g., viaa computing device and a detector/sensor) identify an incident vehicle,access its contour from a database, and determine an impactsusceptibility. For example, the make or model of the vehicle may beidentified (e.g., by an optical recognition algorithm using cameradata), and its nominal contour determined from a manufacturer'sdatabase. The make or model information may be used to access thecorrect information in the database. The structure may also request anupdated contour to be provided by the vehicle. In response, the vehiclemay transmit the updated contour information to the database, ordirectly to the structure. In another example, a more specificidentification of the vehicle may be determined, such as by imaging itslicense plate, by electronically reading a vehicular RFID tag, or byusing a radio antenna to communicate with a radio transponder (e.g., aFast-Pass/electronic toll pass type electronic identifier, etc.). Thespecific identification (e.g., license plate number, RFID information,transponder information, etc.) may be used to access the correctinformation in the database including the contour information (e.g., asa unique database key or ID, etc.). The detector/sensors used toidentify the incident vehicle may be located at/near the structure, ormay be located some distance in front of it (e.g., ½ mile away on anapproaching road, etc.). The contour information (which may or may notreflect the effect of protrusions beyond the vehicle's nominal contour)may be located in a database on the vehicle itself, or in an externaldatabase. For example, the database may belong to the vehicle's owner(e.g., as identified via driver registration records). As anotherexample, the database may be maintained by a government agency, by awebsite, by the vehicle's insurance company, or by the structure's owner(e.g., for vehicles anticipated or authorized to use it), and/or may beaccessible via a network connection. The contour information may includetiming information indicating when it was last updated, or for what dateor time-period the information is valid for. Based on the contour (orupdated contour) information and the dimensions of the structure, if thestructure determines the incident vehicle poses an impactsusceptibility, it can initiate various responses. In one example, itcan warn the vehicle or driver. This notification can be madeelectronically (e.g., to the vehicle's navigation system, to anin-vehicle display, etc.), audibly (e.g., a buzzer, vocal instructions,etc.), or visually (e.g., a red/green light, a message on a displayscreen, etc.). The notification may provide instructions to the vehicleon how to safely navigate the structure (e.g., which lane to use, etc.).The existence of the notification may be logged (e.g., in a database)for liability (e.g., criminal or financial, etc.) purposes. In anotherexample, the structure may initiate protective measures, such asemplacing a barrier to block access by the vehicle, or deployingexternal bumpers or airbags. In some examples, the structure may notifythird parties, such as emergency personnel, nearby vehicles, or thelike, of the impact risk.

Referring to FIG. 3a , a schematic of car 300 a is shown according toone embodiment. Car 300 a is equipped with the systems described hereinand includes processing circuit 302, and sensors 304 integrated invarious locations. For example, sensors 304 may include optical sensorsconfigured to scan across the window area. Sensors 304 may includecameras affixed to the front and back of roof of car 300 a. Sensors 304may include pressure sensors and capacitive sensors integrated into theseat and window sill areas. In one embodiment, sensors 304 may includean RFID sensor and driver 308 may be wearing an RFID tag wristband. Anycombination of sensors described herein is envisioned. Car 300 a furtherincludes navigation system 306 having anti-collision features. The leftarm of driver 308 is depicted as protruding beyond the left boundary ofcontour 310. Sensors 304 provide sensor data to processing circuit 302,which detects the protruding extremity and compares it to contour 310.Processing circuit 302 calculates the amount

that the arm of driver 308 is protruding and generates updated contour312 to include the additional space occupied by the protruding arm. Thewidth of contour 310 is depicted as being updated along the entire leftspan of car 300 a. Updated contour 312 also includes the areas ofcontour 310 that were unaffected by the protruding arm. Updated contour312 is provided to navigation system 306.

Referring to FIG. 3b , a schematic of car 300 b is shown according toone embodiment. Car 300 b is equipped with the systems described hereinand is similar to car 300 a. Car 300 b includes processing circuit 302;however, processing circuit 302 of car 300 b is configured to generatelocally updated contours. Car 300 b includes sensors 304 coupled to car300 b in various locations. Sensors 304 may include any of the sensorsdescribed herein. Processing circuit 302 calculates the amount l thatthe arm of driver 308 is protruding and generates updated contour 314 toinclude the additional space occupied by the protruding arm. Contour 310is depicted as being updated locally, only around the area of theprotruding arm. Updated contour 314 also includes the areas of contour310 that were unaffected by the protruding extremity. Updated contour314 is provided to navigation system 306.

Referring to FIG. 3c , a schematic of robotically driven car 300 c isshown according to one embodiment. Car 300 c is equipped with thesystems described herein and is similar to car 300 a. Car 300 c includesprocessing circuit 302 and sensors 304. Navigation system 306 is capableof driving car 300 c and includes automatic guidance systems andanti-collision systems. Processing circuit 302 calculates the amount lthat the arm of driver 308 is protruding and generates updated contour312 to include the additional space occupied by the protruding arm. Thewidth of contour 310 is depicted as being updated along the entire rightspan of car 300 c, although in another embodiment, the contour may beupdated locally. Updated contour 318 is provided to navigation system306, which may be used the updated contour as it drives car 300 c andavoids collisions. In one embodiment, car 300 c may be configured to beremotely piloted (e.g., via a remote control).

Referring to FIG. 4, a schematic of truck 400 is shown according to oneembodiment. Truck 400 is equipped with the systems described herein andincludes processing circuit 402, and sensors 404 integrated in variouslocations. For example, sensors 404 may include cameras configured toscan across the truck bed area. Sensors 404 may also include a wideangle camera affixed to the roof of truck 400. Truck 400 furtherincludes navigation system 406 including anti-collision features. Truck400 may be manually driven, remotely controlled, or may be roboticallydriven by an automatic guidance system of navigation system 406. In oneembodiment, sensors 404 may include an RFID sensor and an RFID tag maybe coupled to the end of cargo 408 (e.g., wood). The ends of cargo 408are depicted as protruding beyond the rear boundary of contour 410.Sensors 404 provide sensor data to processing circuit 402, which detectsthe protruding cargo 408 and compares it to contour 410. Processingcircuit 402 calculates the amount l that cargo 408 is protruding andgenerates updated contour 412 to include the additional space occupiedby the protruding cargo. The width of contour 410 is depicted as beingupdated along the entire rear span of truck 400, although, it may bealso updated locally as described herein. Updated contour 412 alsoincludes the areas of contour 410 that were unaffected by the protrudingcargo 408. Updated contour 412 is provided to navigation system 406.

Processing circuit 402 is further configured to determining thesusceptibility of the truck 400 to a size limit based on updatedcontour. For example, processing circuit 402 may receive route and sizelimit information from navigation system 406. In another embodiment,processing circuit 402 may access a database of size limit informationfor or interface with a mapping application to determine a size limit.Based on the data from sensors 404, processing circuit 402 calculatesthe height h that cargo 408 is extending. Processing circuit 402compares height h to a size limit (e.g., a vertical clearance of abridge or garage, etc.) to determine if truck 400 is susceptible to thesize limit or can safely navigate the size limit. In the event thatprocessing circuit 402 determines that height h is greater than the sizelimit, processing circuit 402 notifies navigation system 406 of thecondition.

Referring to FIG. 5, a schematic of truck 500 is shown according to oneembodiment. Truck 500 is equipped with the systems described herein andincludes processing circuit 502, and sensors 504 at various locations.For example, sensors 504 may include cameras configured to scan acrossthe truck bed area. Sensor 504 may include pressure and capacitivesensors integrated into the seat of truck 500. Truck 500 is connected totrailer 516, which is also equipped with sensors 504. Sensors 504 oftrailer 516 may include any of the sensors described herein. Forexample, trailer sensors 504 may include RFID sensors and RFID tagscoupled to cargo 508. Truck 500 further includes navigation system 506including anti-collision features. Truck 500 may be manually driven,remotely controlled, or may be robotically driven by an automaticguidance system of navigation system 506. In one embodiment, trailersensors 504 may be configured to wirelessly communicate with processingcircuit 502. One of the ends of cargo 508 is depicted as protrudingbeyond the left boundary of contour 510. Additionally, the arm of driver520 is depicted as extended beyond the left boundary of contour 510.Contour 510 generally includes the dimensions and footprint of truck 500and trailer 516. Sensors 504 provide sensor data to processing circuit502, which detects the protruding arm and the protruding cargo andcompares it to contour 510. Processing circuit 502 calculates the amountl₁ that the arm is protruding and generates updated contour 512 toinclude the additional space occupied by the protruding arm. Processingcircuit 502 calculates the amount l₂ that the cargo is protruding andgenerates updated contour 514 to include the additional space occupiedby protruding cargo 508. The width of contour 510 is depicted as beingupdated to include the dimensions of updated contour 512 and updatedcontour 514 to form an overall updated contour 518. In one embodiment,in the case of multiple protrusions, processing circuit 502 may extend asingle updated contour to compensate for all protrusions. For example,if amount l₂ is greater that amount l₁, processing circuit 502 mayextend contour 510 along the entire span of truck 500 and trailer 516 byamount l₂. In another embodiment, processing circuit 502 may updatecontour 510 in a localized manner for each protrusion as describedherein. Updated contour 518 also includes the areas of contour 510 thatwere unaffected by the protruding arm and protruding cargo 508. Updatedcontour 518 is provided to navigation system 506.

Processing circuit 502 is further configured to determining thesusceptibility of the truck 500 to a size limit based on updated contour518. For example, processing circuit 502 may receive route and sizelimit information from navigation system 506. Processing circuit 502compares amounts l₁ and l₂ to a size limit (e.g., a width clearance of aroad, etc.) to determine if truck 500 and trailer 516 are susceptible tothe size limit or can safely navigate the size limit. In the event thatprocessing circuit 502 determines that amounts l₁ or l₂ are susceptibleto the size limit, processing circuit 502 notifies navigation system 506of the condition.

Referring to FIG. 6, a flow diagram of a process 600 for informing anavigation system of the vehicle of the protruding cargo is shown,according to one embodiment. In alternative embodiments, fewer,additional, and/or different actions may be performed. Also, the use ofa flow diagram is not meant to be limiting with respect to the order ofactions performed. Sensor data is acquired from a sensor, where thesensor data is generally based on a position of the cargo of the vehicle(602). The sensor may be on-board the vehicle or may be external to it.The cargo may include an occupant(s) or object(s). The contour of thevehicle (including any trailers, etc.) is determined (604). The sensordata and contour is analyzed to detect a protrusion (606). If aprotrusion is detected, then the navigation system of the vehicle isnotified (608). Data may be formatted and sent to the navigation systemaccording to the specifications of the particular vehicle.

Referring to FIG. 7, a flow diagram of a process 700 for informing anavigation system of the vehicle of the protruding cargo is shown,according to one embodiment. In alternative embodiments, fewer,additional, and/or different actions may be performed. Also, the use ofa flow diagram is not meant to be limiting with respect to the order ofactions performed. Sensor data is acquired from a sensor (702), wherethe sensor data is generally based on a position of the occupant. Thecontour of the vehicle is determined (704). The position of the occupantin the vehicle is analyzed using on the sensor data (706). A protrudingextremity is estimated or inferred by comparing the analyzed position toa skeletal model and the contour (708). If a protruding extremity isinferred, then the navigation system of the vehicle is notified (710).

Referring to FIG. 8, a flow diagram of a process 800 for informing anavigation system of the vehicle of the protruding cargo is shown,according to one embodiment. In alternative embodiments, fewer,additional, and/or different steps may be performed. Also, the use of aflow diagram is not meant to be limiting with respect to the order ofsteps performed. Sensor data is acquired from a sensor, where the sensordata is generally based on a position of the cargo (802). The contour ofthe vehicle is determined (804). The contour may be determined from thesensor data, provided by a configuration file, manually input via a userinterface, etc. The sensor data and contour is analyzed to detectprotruding cargo (806). If protruding cargo is detected, an updatedcontour of the vehicle is generated based on the protrusion (808). Theupdated contour may correspond to overall updated vehicle dimensions(810), or the updated contour may be localized to a particular portionof the vehicle (812). The updated contour is provided to the navigationsystem of the vehicle (814). Data may be formatted and sent to thenavigation system according to the specifications of the particularvehicle.

Referring to FIG. 9, a flow diagram of a process 900 for informing anavigation system of the vehicle of the protruding cargo is shown,according to one embodiment. In alternative embodiments, fewer,additional, and/or different steps may be performed. Also, the use of aflow diagram is not meant to be limiting with respect to the order ofsteps performed. Sensor data is acquired from a sensor, where the sensordata is generally based on a position of the cargo including occupantsand objects (902). The contour of the vehicle is determined (904). Thecontour may be determined from the sensor data, provided by aconfiguration file, manually input via a user interface, etc. Theposition of an occupant and/or object is analyzed using the sensor data(906). A protruding extremity of the occupant is estimated or inferredby comparing the analyzed position to a skeletal model and the contour(908). Data from a diagnostic system of the vehicle (e.g., speedometer,tire pressure system, stability system, etc.) may be analyzed to infer apotentially protruding object (910). Alternatively, a protruding objectmay be inferred based on knowledge of the object (e.g., a model) asdescribed above. An updated contour of the vehicle is generated based ondetected protrusions (912). The updated contour may correspond tooverall updated vehicle dimensions (914), or the updated contour may belocalized to a particular portion of the vehicle (916). The updatedcontour is provided to the navigation system of the vehicle (918).

Referring to FIG. 10, a flow diagram of a process 1000 for informing anavigation system of the vehicle of the protruding cargo is shown,according to one embodiment. In alternative embodiments, fewer,additional, and/or different steps may be performed. Also, the use of aflow diagram is not meant to be limiting with respect to the order ofsteps performed. Sensor data is acquired from a sensor, where the sensordata is generally based on a position of the cargo (1002). The contourof the vehicle is determined (1004). The sensor data and contour isanalyzed to detect protruding cargo (1006). If protruding cargo isdetected, an updated contour of the vehicle is generated based on theprotruding cargo (1008). The updated contour is provided to anaccessible database or another vehicle (1010). Data may be transmittedwirelessly as described herein.

Referring to FIG. 11, a flow diagram of a process 1100 for identifying asusceptibility of a vehicle to a size restriction is shown, according toone embodiment. In alternative embodiments, fewer, additional, and/ordifferent steps may be performed. Also, the use of a flow diagram is notmeant to be limiting with respect to the order of steps performed.Sensor data is acquired from a sensor, where the sensor data isgenerally based on a position of the cargo (1102). The contour of thevehicle is determined (1104). The sensor data and contour is analyzed todetect protruding cargo (1106). If protruding cargo is detected, anupdated contour of the vehicle is generated based on the protrudingcargo (1108). A size limit (or restriction) along the route of thevehicle is determined (1110). The size limit may be provided by thenavigation system of the vehicle, a database, or mapping application,etc. The size limit is compared to the updated contour and protrusion todetermine a susceptibility of vehicle to the size limit or restriction(1112). If the vehicle including the protrusion is determined to besusceptible to a size limit and/or restriction, the navigation system ofthe vehicle is notified and is provided relevant data (1114).

Referring to FIG. 12, a flow diagram of a process 1200 for warning ofthe protruding body parts of a vehicle occupant is shown, according toone embodiment. In alternative embodiments, fewer, additional, and/ordifferent steps may be performed. Also, the use of a flow diagram is notmeant to be limiting with respect to the order of steps performed.Sensor data is acquired from a sensor (1202), where the sensor data isgenerally based on a position of cargo. The contour of the vehicle isdetermined (1204). Protruding cargo is detected based on the sensor dataand the contour of the vehicle (1206). The navigation system of thevehicle is notified of the protrusion (1208). A warning is alsogenerated based on the protruding cargo and is output using a feedbackdevice (1210). For example, the warning may include visual informationdisplayed on a display screen (1212), or the warning information may betransmitted to another external device (1214).

Referring to FIG. 13, a flow diagram of a process 1300 for identifying asusceptibility of a vehicle approaching a structure to a sizerestriction of the structure is shown, according to one embodiment. Inalternative embodiments, fewer, additional, and/or different steps maybe performed. Also, the use of a flow diagram is not meant to belimiting with respect to the order of steps performed. Data is acquiredfrom a detector configured to detect an approaching vehicle (1302). Thedetector may include various sensors/cameras, etc., as described herein,and may be located on the structure (e.g., a garage, an overpass, atunnel, a bridge, etc.), near the structure, or a distance from thestructure. The vehicle is identified based on data from the detector(1304). A database is accessed to determine a contour of the identifiedvehicle (1306). The database is configured to store vehicle contourinformation and may be hosted by the systems of the vehicle, by a thirdparty, or by the systems of the structure. The contour information maybe based on the manufacturer specifications for the particular vehicle,or may be an updated contour based on any protrusions or modificationsof the vehicle. An updated contour may be generated as described hereinand may be provided to the database by the vehicle. The sizelimit/restriction of the structure and the contour of the vehicle arecompared (1308), and based on the comparison the impact susceptibilityof the vehicle is determined (1310). Responsive to a determinedsusceptibility, the vehicle (or systems of the vehicle) or a third party(e.g., emergency responders, police, firefighters, other vehicles, etc.)may be notified of the vehicle's susceptibility (1312). The notificationand details related to the event may also be logged in a database.Additionally, protective measures, such as a barrier or airbag and thelike, may be activated (1314).

The construction and arrangement of the systems and methods as shown inthe various embodiments are illustrative only. Although only a fewembodiments have been described in detail in this disclosure, manymodifications are possible (e.g., variations in sizes, dimensions,structures, shapes and proportions of the various elements, values ofparameters, mounting arrangements, use of materials, colors,orientations, etc.). For example, the position of elements may bereversed or otherwise varied and the nature or number of discreteelements or positions may be altered or varied. Accordingly, all suchmodifications are intended to be included within the scope of thepresent disclosure. The order or sequence of any process or method stepsmay be varied or re-sequenced according to alternative embodiments.Other substitutions, modifications, changes, and omissions may be madein the design, operating conditions and arrangement of the embodimentswithout departing from the scope of the present disclosure.

The present disclosure contemplates methods, systems and programproducts on any machine-readable media for accomplishing variousoperations. The embodiments of the present disclosure may be implementedusing existing computer processors, or by a special purpose computerprocessor for an appropriate system, incorporated for this or anotherpurpose, or by a hardwired system. Embodiments within the scope of thepresent disclosure include program products comprising machine-readablemedia for carrying or having machine-executable instructions or datastructures stored thereon. Such machine-readable media can be anyavailable media that can be accessed by a general purpose or specialpurpose computer or other machine with a processor. By way of example,such machine-readable media can comprise RAM, ROM, EPROM, EEPROM, CD-ROMor other optical disk storage, magnetic disk storage or other magneticstorage devices, or any other medium which can be used to carry or storedesired program code in the form of machine-executable instructions ordata structures and which can be accessed by a general purpose orspecial purpose computer or other machine with a processor. Wheninformation is transferred or provided over a network or anothercommunications connection (either hardwired, wireless, or a combinationof hardwired or wireless) to a machine, the machine properly views theconnection as a machine-readable medium. Thus, any such connection isproperly termed a machine-readable medium. Combinations of the above arealso included within the scope of machine-readable media.Machine-executable instructions include, for example, instructions anddata which cause a general purpose computer, special purpose computer,or special purpose processing machines to perform a certain function orgroup of functions.

Although the figures may show a specific order of method steps, theorder of the steps may differ from what is depicted. Also two or moresteps may be performed concurrently or with partial concurrence. Suchvariation will depend on the software and hardware systems chosen and ondesigner choice. All such variations are within the scope of thedisclosure. Likewise, software implementations could be accomplishedwith standard programming techniques with rule-based logic and otherlogic to accomplish the various connection steps, processing steps,comparison steps and decision steps.

While various aspects and embodiments have been disclosed herein, otheraspects and embodiments will be apparent to those skilled in the art.The various aspects and embodiments disclosed herein are for purposes ofillustration and are not intended to be limiting, with the true scopeand spirit being indicated by the following claims

What is claimed is:
 1. A system for identifying a susceptibility of avehicle approaching a structure to a size restriction of the structure,comprising: a detector configured to detect the vehicle; and aprocessing circuit configured to: identify the vehicle based on datafrom the detector; access a database to determine a contour of theidentified vehicle, wherein the database is configured to store vehiclecontour information; compare the contour of the vehicle to a size limitof the structure; determine a susceptibility of the vehicle to the sizelimit based on the comparison; and notify, responsive to the determinedsusceptibility, a system of the vehicle of the determinedsusceptibility.
 2. The system of claim 1, wherein the detector islocated near an entrance to the structure.
 3. The system of claim 1,wherein the detector is located at a distance from the structure.
 4. Thesystem of claim 1, wherein the contour of the identified vehicle isbased on specifications corresponding to a make of the vehicle.
 5. Thesystem of claim 1, wherein the contour of the identified vehicle is anupdated contour based on protrusions or modifications of the vehicle. 6.The system of claim 5, wherein the updated contour is provided to thedatabase by the vehicle.
 7. The system of claim 1, wherein notifying thesystem of the vehicle includes generating an audio or visual alert. 8.The system of claim 1, wherein notifying the system of the vehicleincludes electronically notifying a system of the vehicle.
 9. The systemof claim 1, wherein notifying the system of the vehicle includesproviding instructions on which lane to use to navigate the structure.10. The system of claim 1, wherein notifying the system of the vehicleincludes logging the provided notification in a second database.
 11. Thesystem of claim 1, wherein the processing circuit is further configuredto activate, responsive to the determined susceptibility, a protectivemeasure of the structure.
 12. The system of claim 11, where theprotective measure includes at least one of a barrier, a bumper, and anairbag.
 13. The system of claim 1, wherein the processing circuit isfurther configured to notify, responsive to the determinedsusceptibility, an emergency responder.
 14. The system of claim 1,wherein the processing circuit is further configured to notify,responsive to the determined susceptibility, a second vehicle.
 15. Amethod of identifying a susceptibility of a vehicle approaching astructure to a size restriction of the structure, comprising: acquiringdata from a detector configured to detect the vehicle; identifying, witha processing circuit, the vehicle based on the data from the detector;accessing a database to determine a contour of the identified vehicle,wherein the database is configured to store vehicle contour information;comparing the contour of the vehicle to a size limit of the structure;determining a susceptibility of the vehicle to the size limit based onthe comparison; and notifying, responsive to the determinedsusceptibility, a system of the vehicle of the determinedsusceptibility.
 16. The method of claim 15, wherein the detectorincludes a camera.
 17. The method of claim 16, wherein identifying thevehicle comprises determining a license plate number of the vehicle byanalyzing data from the camera.
 18. The method of claim 16, whereinidentifying the vehicle comprises determining a make of the vehicle byanalyzing data from the camera.
 19. The method of claim 15, wherein thedetector is located near an entrance to the structure.
 20. The method ofclaim 15, wherein the detector is located at a distance from thestructure.
 21. The method of claim 15, further comprising activating,responsive to the determined susceptibility, a protective measure of thestructure.
 22. The method of claim 21, where the protective measureincludes at least one of a barrier, a bumper, and an airbag.
 23. Themethod of claim 15, further comprising notifying, responsive to thedetermined susceptibility, an emergency responder.
 24. The method ofclaim 15, further comprising notifying, responsive to the determinedsusceptibility, a second vehicle.
 25. A non-transitory computer-readablemedium having instructions stored thereon, the instructions forming aprogram executable by a computing device for identifying asusceptibility of a vehicle approaching a structure to a sizerestriction of the structure, that when executed by the computing devicecause the computing device to perform operations comprising: acquiringdata from a detector configured to detect the vehicle; identifying thevehicle based on the data from the detector; accessing a database todetermine a contour of the identified vehicle, wherein the database isconfigured to store vehicle contour information; comparing the contourof the vehicle to a size limit of the structure; determining asusceptibility of the vehicle to the size limit based on the comparison;and notifying, responsive to the determined susceptibility, a system ofthe vehicle of the determined susceptibility.
 26. The non-transitorycomputer-readable medium of claim 25, wherein the detector includes anRFID sensor configured to detect RFID information of the vehicle, andwherein identifying the vehicle comprises analyzing the RFIDinformation.
 27. The non-transitory computer-readable medium of claim25, wherein the detector includes a radio antenna configured tocommunicate with a transponder of the vehicle, and wherein identifyingthe vehicle comprises analyzing information received from thetransponder.
 28. The non-transitory computer-readable medium of claim25, wherein the database is hosted externally to the structure.
 29. Thenon-transitory computer-readable medium of claim 28, wherein thedatabase is hosted by the vehicle.
 30. The non-transitorycomputer-readable medium of claim 28, wherein the database is hosted viaa website.
 31. The non-transitory computer-readable medium of claim 28,wherein the database is accessible via a network connection.
 32. Thenon-transitory computer-readable medium of claim 25, wherein thedatabase is hosted at the structure.
 33. The non-transitorycomputer-readable medium of claim 25, further comprising activating,responsive to the determined susceptibility, a protective measure of thestructure.